
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, AIMessage


def deepseek(base_url, api_key, prop, history_list=None, model="deepseek-reasoner"):
    # 初始化模型
    model = ChatOpenAI(
        base_url=base_url,
        api_key=api_key,
        model=model
    )

    messages = []

    # 转换历史记录为消息对象
    if history_list:
        for item in history_list:
            # 假设 history_list 中的每条记录包含 "question"（用户消息）和 "answer"（AI消息）
            if "question" in item:
                messages.append(HumanMessage(content=item["question"]))
            if "answer" in item:
                messages.append(AIMessage(content=item["answer"]))

    # 添加当前用户的问题
    messages.append(HumanMessage(content=prop))

    # 调用模型
    response = model.invoke(messages)
    return response

